package com.atguigu.practice;

public class TheMaxOfTwoNumber {
    public static void main(String[] args) {
        System.out.println(getMax(3,5));
    }
    //不做任何比较，得到a,b中的最大值
    public static int getMax(int a,int b){
        int c=a-b; //c就是a和b的差值
        int scA=flip(c); //如果a>b,返回0; 如果a<b,返回1
        int scB=scA^1; //如果scA为1，则scB为0;如果scA为0，则scB为1
        return scA*b+scB*a;//如果a>b,scA=0,我们返回a
    }
    //获取n 的符号位
    public static int flip(int n){
        return (n>>31)&1 ; //如果差值为负数，则返回1; 差值为正数，返回0
    }
}
